package cn.tedu.medicalmanagementsystem.user.service;

import cn.tedu.medicalmanagementsystem.base.response.JsonResult;
import cn.tedu.medicalmanagementsystem.user.pojo.dto.ReviewAddParam;
import cn.tedu.medicalmanagementsystem.escort.pojo.dto.ReviewReplyParam;
import cn.tedu.medicalmanagementsystem.user.pojo.vo.PageData;
import cn.tedu.medicalmanagementsystem.user.pojo.vo.ReviewVO;

import java.util.List;

public interface ReviewService {
    JsonResult addReview(ReviewAddParam param, Long userId);
    JsonResult replyReview(ReviewReplyParam param, Long escortId);
    JsonResult<List<ReviewVO>> getReviewsByUserId(Long userId);
    JsonResult<List<ReviewVO>> getReviewsByEscortId(Long escortId); // 修改了方法名
    JsonResult<PageData<ReviewVO>> listReviews(Long userId, Long escortId, Integer minRating,
                                               Integer maxRating, Boolean replied, Integer page, Integer size);
    // 保留旧方法名以兼容性，或直接删除
    @Deprecated
    default JsonResult<List<ReviewVO>> getUserReviewsByEscortId(Long escortId) {
        return getReviewsByEscortId(escortId);
    }
}
